#include <iostream>
#include <cstring>
typedef long long ll;
const int maxn=1005;
const ll mod=1000000007;
using namespace std;
ll a[maxn][maxn],b[maxn][maxn],c[maxn][maxn];
int n=-1,m=-1,p=-1;

void in(){
    cin>>n>>p>>m;
    memset(a,0,sizeof(a));
    memset(b,0,sizeof(b));
    for(int i=0;i<n;++i)
    for(int j=0;j<p;++j)
        cin>>a[i][j];
    for(int i=0;i<p;++i)
    for(int j=0;j<m;++j)
        cin>>b[i][j];
}

void mul(){
    memset(c,0,sizeof(c));
    for(int i=0;i<n;++i)
        for(int j=0;j<m;++j)
            for(int k=0;k<p;++k){
                c[i][j]+=a[i][k]*b[k][j];
                c[i][j]%=mod;
            }
}

void out(){
    for(int i=0;i<n;++i){
        for(int j=0;j<m;++j) cout<<c[i][j]%mod<<' ';
        cout<<endl;
    }
}

int main()
{
    in();
    mul();
    out();
    return 0;
}




